//void rotate(int* nums, int numsSize, int k) {
//    k = k % numsSize;
//    int a[numsSize];
//    int j = 0;
//    for (int i = numsSize - k; i < numsSize; i++)
//    {
//        a[j++] = nums[i];
//    }
//    for (int i = 0; i < numsSize - k; i++)
//    {
//        a[j++] = nums[i];
//    }
//    for (int i = 0; i < numsSize; i++)
//    {
//        nums[i] = a[i];
//    }
//}void reverse(int *nums,int start, int end)
//{
//    while (start < end)
//    {
//        int tmp = nums[start];
//        nums[start] = nums[end];
//        nums[end] = tmp;
//        start++;
//        end--;
//    }
//}
//void rotate(int* nums, int numsSize, int k) {
//    k = k % numsSize;
//    reverse(nums, 0, numsSize - 1);
//    reverse(nums, 0, k - 1);
//    reverse(nums, k, numsSize - 1);
//}
//int missingNumber(int* nums, int numsSize) {
//    int num = 0;
//    for (int i = 1; i < numsSize + 1; i++)
//    {
//        num = i + num;
//    }
//    for (int i = 0; i < numsSize; i++)
//    {
//        num = num - nums[i];
//    }
//    return num;
//
//}

//int missingNumber(int* nums, int numsSize) {
//    int num = 0;
//    for (int i = 0; i < numsSize; i++)
//    {
//        num ^= i;
//        num ^= nums[i];
//    }
//    num ^= numsSize;
//    return num;
//
//}

//int removeDuplicates(int* nums, int numsSize) {
//    if (nums == NULL || numsSize == 0)
//    {
//        return 0;
//    }
//    int p1 = 0;
//    int p2 = 1;
//    while (p2 < numsSize)
//    {
//        if (nums[p1] != nums[p2])
//        {
//            nums[p1 + 1] = nums[p2];
//            p1++;
//        }
//        p2++;
//
//    }
//    return p1 + 1;
//
//}
//int removeElement(int* nums, int numsSize, int val) {
//    int i = 0;
//    int j = 0;
//    for (i = 0; i < numsSize; i++)
//    {
//        if (nums[i] != val)
//        {
//            nums[j++] = nums[i];
//        }
//    }
//    return j;
//}